package hr.ctg.domain.model;

// Generated 2007.05.02 22:50:59 by Hibernate Tools 3.2.0.b9

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Immutable;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * Jezik generated by hbm2java
 */
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
@Immutable
@Table(name = "jezik", uniqueConstraints = @UniqueConstraint(columnNames = { "oznaka" }))
public class Jezik implements java.io.Serializable {
	public static enum Jezici {
		EN("en"), HR("hr");
		private String oznaka;

		Jezici(final String oznaka) {
			this.oznaka = oznaka;
		}

		@Override
		public String toString() {
			return oznaka;
		}
	};

	/**
	 * 
	 */
	private static final long serialVersionUID = -25475875315016868L;
	private int idJezika;
	private String naziv;
	private String oznaka;

	public Jezik() {
	}

	public Jezik(final int idJezika, final String naziv, final String oznaka) {
		this.idJezika = idJezika;
		this.naziv = naziv;
		this.oznaka = oznaka;
	}

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "id_jezika", unique = true, nullable = false)
	@NotNull
	public int getIdJezika() {
		return idJezika;
	}

	public void setIdJezika(final int idJezika) {
		this.idJezika = idJezika;
	}

	@Column(name = "naziv", nullable = false, length = 50)
	@NotNull
	@Length(max = 50)
	public String getNaziv() {
		return naziv;
	}

	public void setNaziv(final String naziv) {
		this.naziv = naziv;
	}

	@Column(name = "oznaka", unique = true, nullable = false, length = 2)
	@NotNull
	@Length(max = 2)
	public String getOznaka() {
		return oznaka;
	}

	public void setOznaka(final String oznaka) {
		this.oznaka = oznaka;
	}

	@Override
	public boolean equals(final Object obj) {
		if (this == obj) {
			return true;
		}
		if (obj == null) {
			return false;
		}
		if (!(obj instanceof Jezik)) {
			return false;
		}
		final Jezik other = (Jezik) obj;
		if (idJezika != other.getIdJezika()) {
			return false;
		}
		return true;
	}

}
